// let arr = [1, [2, [3, 4]]]

// console.log(arr.flat(Infinity));  // [ 1, 2, 3, 4 ]

// function flatten(arr) {
//   let result = []

//   for (let i = 0; i < arr.length; i++) {
//     if (Array.isArray(arr[i])) {
//       // result = result.concat(flatten(item))
//       // result.push(...flatten(item))
//       result = [...result, ...flatten(item)]
//     } else {
//       res.push(arr[i])
//     }
//   }

//   return result
// }

// console.log(flatten(arr));


// concat 拼接数组时，会去掉一层[]
// function flatten(arr) {
//   while (arr.some(item => Array.isArray(item))) {  // 只要有一个满足条件就返回true
//     arr = [].concat(...arr)
//   }
//   return arr
// }

// console.log(flatten(arr));   // [ 1, 2, 3, 4 ]


// console.log(arr.toString());



